package de.fhin.mas.ontology;

import jade.content.Concept;

public class RelativeDistance implements Concept {

	/**
	 * 
	 */
	private static final long serialVersionUID = 2084600707629216595L;

	/**
	 * Der Winkel zum Hindernis relativ zur Längsachse des Roboters. Werte von
	 * +0° bis +180° geben Positionen rechts vom Roboter an. Werte von -1° bis
	 * -179° geben Positionen links vom Roboter an. (0°: vorne; +90°: rechts;
	 * -90°: links; +180°: hinten;
	 */
	private int angle;

	/**
	 * Der Abstand des Hindernisses zum Roboter in Zentimetern
	 */
	private int distance;

	/**
	 * Default Konstruktor für JADE
	 */
	public RelativeDistance() {

	}

	/**
	 * Erzeugt ein neues <tt>RelativeDistance</tt> Objekt
	 * 
	 * @param angle
	 *            Der Winkel in Grad. Werte von +0° bis +180° geben Positionen
	 *            rechts vom Roboter an. Werte von -1° bis -179° geben
	 *            Positionen links vom Roboter an. (0°: vorne; +90°: rechts;
	 *            -90°: links; +180°: hinten;
	 * @param distance
	 *            Entfernung des Hindernisses in Zentimetern
	 */
	public RelativeDistance(int angle, int distance) {
		this.angle = angle;
		this.distance = distance;
	}

	/**
	 * Legt den Winkel des Hindernisses relativ zur Längsachse des Roboters fest
	 * 
	 * @param angle
	 *            Der Winkel in Grad. Werte von +0° bis +180° geben Positionen
	 *            rechts vom Roboter an. Werte von -1° bis -179° geben
	 *            Positionen links vom Roboter an. (0°: vorne; +90°: rechts;
	 *            -90°: links; +180°: hinten;
	 */

	public void setAngle(int angle) {
		this.angle = angle;
	}

	/**
	 * Gibt den Winkel des Hindernisses relativ zur Längsachse des Roboters
	 * zurück
	 * 
	 * @return Der Winkel in Grad.
	 */
	public int getAngle() {
		return angle;
	}

	/**
	 * Legt die Entfernung des gefundenen Objekts fest
	 * 
	 * @param distance
	 *            Entfernung des Hindernisses in Zentimetern
	 */

	public void setDistance(int distance) {
		this.distance = distance;
	}

	/**
	 * Gibt die Entfernung des Hindernisses zurück
	 * 
	 * @return Entfernung des Hindernisses in Zentimetern
	 */
	public int getDistance() {
		return distance;
	}
}
